package cn.edu.ncut.cs.springboot.petmanagementsystem.service;

import cn.edu.ncut.cs.springboot.petmanagementsystem.pojo.User;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

public interface UserService {
    /**
     * 用户注册
     */
    boolean register(User user);

    /**
     * 用户登录
     */
    User login(String username, String password);

    /**
     * 获取当前用户信息
     */
    User getUserInfo(Long userId);

    /**
     * 分页查询所有用户（管理员）
     */
    IPage<User> getUserList(Integer pageNum, Integer pageSize);

    /**
     * 更新用户信息
     */
    boolean updateUser(User user);

    /**
     * 删除用户
     */
    boolean deleteUser(Long id);

    /**
     * 根据用户名查询用户
     */
    User getUserByUsername(String username);

    /**
     * 修改用户密码
     */
    boolean changePassword(Long userId, String oldPassword, String newPassword);

    /**
     * 上传用户头像
     */
    String uploadAvatar(Long userId, String avatarUrl);
}
